home *** CD-ROM | disk | FTP | other *** search
/ START Magazine / START VOL 4 NO 10.st / vkiller.arc / VKILLER.TXT < prev   
Encoding:
Text File  |  1990-01-31  |  15.1 KB  |  291 lines

  1. VKILLER                    Version 3.10         Released January, 1990
  2.  
  3.                         by George R. Woodside
  4.  
  5. VKILLER is the virus detect-and-kill utility for the Atari ST.
  6.  
  7. The program works in medium or high resolution, and is completely
  8. mouse/icon driven. The program may also be controlled by the keyboard.
  9. In this document, all the keyboard commands are indicated as capital
  10. letters, but that is not mandatory. Lower case letters will provide the
  11. same functions.
  12.  
  13. Click on the FLOPPY A icon, or press the "A" key, to check the disk in
  14. drive A for a virus. Click on the FLOPPY B icon, or press the "B" key,
  15. to check the disk in drive B for a virus. When you access a disk, the
  16. program reads in the boot sector, both copies of the File Allocation
  17. Table (FAT), the disk's root directory, and the first few data sectors.
  18.  
  19. Once you have accessed a disk to check it for a virus, you can write the
  20. data from the disk into a file, print it, or show it on the screen.
  21.  
  22. To write the disk data into a file, click on the "FILE" icon, or press
  23. the "F" key. A file selector will appear. Use it to designate the file
  24. you wish to write. The resulting file is not executable, even if the
  25. boot sector of the floppy was an executable one. It is a data file with
  26. an image of the significant portions of the disk.
  27.  
  28. To print the data, click on the PRINT icon, or press the "P" key. An
  29. alert box will appear. You may choose to print either the same data
  30. that is available in the "SHOW" window, or only the boot sector.
  31.  
  32. To show it on the screen, click on the SHOW icon, or press the "S" key.
  33. The window will expand to nearly the full screen, and display all the
  34. data read from the disk. Use the window's scroll bar to move back and
  35. forth through the data. Close the data window, by clicking on the close
  36. box, to return to the main screen. Pressing any of the active keyboard
  37. keys will also close the data window and return to the main screen.
  38.  
  39. If the disk contains a virus, or garbage in the boot sector, you can
  40. clean it up by clicking on the KILL icon, or pressing the "K" key. When
  41. the program executes a "KILL", it writes zeroes into all the non
  42. critical bytes in the boot sector. No other portion of the disk is
  43. altered, and any files on the disk are left intact. The resulting boot
  44. sector provides a disk readable by both ST's and MS-DOS systems. It is
  45. not necessary to display a disk's data before executing a kill on it.
  46. You can insert a disk and press "K", or click on the Kill icon,
  47. immediately. The disk's boot sector will be read, the critical portions
  48. preserved, and the non critical portions zeroed out.
  49.  
  50. If you wish to install a "Guard" boot sector on a disk, click on the
  51. guard icon, or press the "G" key. A dialog box will appear, offering a
  52. choice of two types of guard boot sectors. 
  53.  
  54. The first guard boot sector is the "Display" type. It contains a simple
  55. program which will display the message "Virus free disk" when the
  56. system is powered up or reset with that disk in drive A. Once the
  57. message has been displayed, the program returns to the operating system
  58. to continue with the power up sequence. It does not remain in memory.
  59. If you reset the system with that disk in drive A, and the message does
  60. not appear, you should immediately check that disk for a virus. The
  61. only reason why the message would not appear is if the boot sector has
  62. been altered, possibly by a spreading virus. This guard boot sector is
  63. an adaptation of one originally written by Mark S. Powell.
  64.  
  65. The second guard boot sector is the monitoring type. This one also
  66. displays a message at power up and reset. Unlike the display version, 
  67. however, this guard remains active in memory until the system is reset
  68. again. Of course, if the disk in drive A at the next reset contains the
  69. guard boot, it will be reloaded again. Otherwise, it is removed from
  70. the system. 
  71.  
  72. While the monitor is active, it checks the boot sector of every disk
  73. that passes through the ST. If it detects an executable boot sector on
  74. any disk, it will flash the screen colors, and sound a warning tone. If
  75. the disk just accessed was not one that should have an executable boot
  76. sector, you should become suspicious. The monitor will not issue a
  77. warning for disks which contain copies of itself.
  78.  
  79. The program also contains a feature for repairing the boot sector
  80. of a damaged disk. Activate it by clicking on the repair icon,
  81. or pressing the "R" key. It will not re-create executable boot sectors, such
  82. as those required for self booting games. When a disk boot sector is
  83. damaged, the disk will be deemed unreadable by the ST's operating system.
  84. If only the boot sector is damaged, repairing it may allow the data on the
  85. disk to be recovered.
  86.  
  87. When you activate the repair function, a dialog box appears. It
  88. contains all the data that can vary in a disk's boot sector. The
  89. individual entries are each editable. They will originally contain
  90. whatever value was read from the disk. This may not be reasonable or
  91. valid if the boot sector was corrupted. The actual data that is in the
  92. boot sector is a bit more obscure than what the dialog presents, but
  93. the needed data can be calculated from what is presented in the dialog.
  94.  
  95.     OS ID: This is an ASCII data string. It is designed to
  96.     provide the identity of the operating system under which
  97.     the disk was formatted. It can contain anything. It is
  98.     not used by the ST operating system in the current version,
  99.     but is supplied for MS-DOS compatibility.
  100.  
  101.     Serial Number: This number is used to tell disks from each
  102.     other. The number should be different on every disk. This
  103.     box will originally contain the number that came from the disk.
  104.     You can enter any value you wish, if you so desire. The
  105.     legal range of entries is from 0 - 16,777,215. It should
  106.     be stated here that the three bytes in which this number is
  107.     stored are also used for the operating system ID on MS-DOS
  108.     systems, and will usually have the version number of the
  109.     formatter. If you regularly move disks back and forth with 
  110.     MS-DOS systems, you may encounter problems using them in your
  111.     ST, since many will appear have the same serial numbers.
  112.     You shoud, therefore, avoid the numbers which correspond
  113.     to the MS-DOS versions:
  114.  
  115.         1.0 - 3,223,088 through 1.9 - 3,223,097
  116.         2.0 - 3,288,624 through 2.9 - 3,288,633
  117.         3.0 - 3,354,160 through 3.9 - 3,354,169
  118.         4.0 - 3,419,696 through 4.9 - 3,419,705
  119.  
  120.     Format ID - Also for MS-DOS compatibility, and not used
  121.     by the ST. The normal ID value is F9.
  122.  
  123.     Reserved Sectors - The number of sectors at the beginning
  124.     of the disk which are not used for the FATs, Directory,
  125.     or data. Unless you are attempting to something very
  126.     unusual, this should always be 1 (for the boot sector).
  127.  
  128.     Hidden Sectors - Sectors at the beginning of the disk
  129.     which should not be accessed. This should be zero.
  130.  
  131.     Sides on Disk - Either 1 or 2. If you come up with a
  132.     three sided disk, I'd be very interested in seeing it.
  133.  
  134.     Tracks on Disk - The standard format for an ST is 80.
  135.     Extended formatters may provide 81 or 82, if your drive
  136.     can strp in that far. Some 5.25" disk drives have 40 tracks.
  137.  
  138.     Sectors per Track - The standard for the ST (and MS-DOS)
  139.     is 9. Some extended formatters, including "TWISTER",
  140.     use 10, while others will go to 11. The ST's desktop
  141.     formatter always uses 9.
  142.  
  143.     Sectors per FAT - The FAT is the File Allocation Table.
  144.     It is a map of how the folders and files are positioned
  145.     on the disk. The ST standard is 5. This is more than
  146.     adequate, since the capacity of the disk only requires
  147.     3. A disk formatted in an MS-DOS system will have 3.
  148.     When viewed as data, a FAT looks like a bunch of garbage.
  149.     There will always be two copies of it, at the start of a
  150.     disk. You can use the "Show" feature of Vkiller to look
  151.     at the disk. If sectors 1 and 4 look the same, and the
  152.     directory starts at sector 7, the disk has a 3 sector FAT.
  153.     If sectors 1 and 6 look the same, and the directory starts
  154.     in sector 11, the disk has a 5 sector FAT.
  155.  
  156.     Directory Sectors - The number of disk sectors provided
  157.     for the disk directory. The ST standard is 7.
  158.  
  159. If the data in the dialog appears to be nonsense, the disk's boot
  160. sector has been corrupted. This may be due to a wide range of reasons,
  161. not just a virus. To set the values to the ST standards, you can enter
  162. the appropriate values for each item, or select the "Set Defaults"
  163. button. It will set the normal values for most of the entries, and
  164. generate a random serial number. You should, however, insure that the
  165. number of tracks, sectors, and sides on the disk are correct for that
  166. particular disk. If you aren't certain, you can use the "Scan Disk"
  167. function.
  168.         
  169. When you select the scan disk function, a dialog with a number of
  170. selectable boxes appears. To repair a damaged disk, the program must
  171. know the number of tracks, sectors per track, and sides on the disk. If
  172. you know any of those facts, enter them in the dialog by clicking on
  173. the appropriate boxes. If you don't know, leave the boxes unselected.
  174. THe program will attempt to determine the disk's configuration by
  175. reading different areas, to establish any of the entries that you do not
  176. provide.
  177.  
  178. Since the number of tracks on a disk may vary, the program will attempt
  179. to determine how many tracks were originally on the disk by stepping
  180. the disk head in and reading data, until it reaches an unreadable area.
  181. It will not continue stepping in past an unreadable track, but it will
  182. continue stepping in until it does reach an unreadable track. This, of
  183. course, will be one track further than the the disk's formatting
  184. originally extended. While it is extremely unlikely, it is possible
  185. that repeated execution of this stepping in operation could cause the
  186. disk's head to become mis-aligned. It has not occurred through weeks of
  187. testing, and would probably require thousands of such operations, but
  188. it is possible. If you wish to prevent the head from stepping in past
  189. some specific track, click on the last track you wish the disk to
  190. access, and select the "Limit" box. The head will not be stepped in
  191. beyond the track you select, even if that track does contain readable
  192. data. Of course, if an unreadable track is detected before that
  193. limit is reached, no further stepping will occur.
  194.  
  195. After all the physical configuration parameters have been entered or
  196. determined, the original dialog box will re-appear. The values
  197. determined by scanning the disk will have been updated. You may edit
  198. them again, if you wish, before writing the disk's boot sector. After
  199. the disk has been updated, the program returns to the familiar disk
  200. data window.
  201.  
  202. Exit the program by clicking on the "QUIT" icon, or pressing the "Q" key.
  203.  
  204. When the program detects a virus present on a disk, it will sound a
  205. warning tone, and place a new button on the desktop. To see the details
  206. about the particular virus located, click on the new "Known Virus" box,
  207. or press the "D" key. If you find a lot of disks infected by a virus,
  208. and want to stop the warning tone from sounding on each disk,  select
  209. the "QUIET" item from the "OPTIONS" menu.
  210.  
  211. If the disk contains an executable boot sector, but one that is 
  212. recognized as a standard system boot, it will be identified as a
  213. "System Disk".
  214.  
  215. Due to the way ST disks are layed out, and used, there are extra
  216. portions of the FAT which are not normally accessed. There are also
  217. more directory sectors than are typically used. In a freshly formatted
  218. disk, these areas should contain only zeroes. There is a fairly
  219. reliable method for determining when the unused portions of the disk
  220. have been altered. A warning will appear in the disk data window when
  221. this situation is detected. If the disk does not contain an executable
  222. boot sector, there is no harm in this data area not being zeroed. Even
  223. if the disk has an unexpected executable boot sector, this additional
  224. data area may not be significant. The warning is provided for
  225. informational purposes only. Since the areas being scanned for this
  226. situation may actually contain important data, the program will not
  227. attempt to alter the data found in those areas. If the data in this
  228. additional area is part of a virus, executing a kill on the boot sector
  229. will render the data in this area harmless.
  230.  
  231. There are two real problems to keep in mind when dealing with viruses,
  232. and disk boot sectors. The first is that not all executable boot
  233. sectors are viruses. There are many times when a boot sector is
  234. supposed to be executable. Executing a KILL on such a boot sector will
  235. destroy whatever code was in the boot sector, and may render the
  236. software on the disk useless. Generally speaking, if the proper use of
  237. the software on the disk required you to reset your ST, or power it off
  238. and on to start the program, then the boot sector was supposed to be
  239. executable, and you should not execute a virus kill on it. Any program
  240. which can be executed by clicking on it does not require an executable
  241. boot sector. Consequently, disks used to store such programs should not
  242. contain executable boot sectors.
  243.  
  244. The second problem is attempting to use VKILLER in a system which has
  245. been infected by a virus, and the virus is executing (attempting to
  246. spread) while VKILLER is attempting to clean it off disks. With all
  247. known ST viruses as of this release (January, 1990), VKILLER will
  248. detect this situation. It will provide instructions on the screen,
  249. informing you that there is an active virus in the system at the time,
  250. the exact steps on how to get rid of it, and how to start cleaning up
  251. your disks.
  252.  
  253. This version of VKILLER can recognize and eliminate 18 different ST
  254. viruses. This is possible only because people who have encountered
  255. viruses that earlier versions of the program did not recognize sent me
  256. copies of the new viruses. If you encounter a virus that the program
  257. does recognize, there is no need to contact me. Just eliminate the
  258. virus, and let anyone else you have given a disk to know that their
  259. system may be infected. Give them a copy of this program if you wish,
  260. it is free to anyone who would like it.
  261.  
  262. If, however, you encounter executable boot sectors spreading through
  263. your library, and this version of VKILLER can't identify it, please
  264. contact me at any of the addresses below. Keep one infected disk,
  265. and either send me the disk, or the file generated by VKILLER's
  266. file function. Use the Kill function to clean up the rest of the
  267. disks in your library.
  268.  
  269. As of this writing, I am investigating about 40 disks each month for new
  270. viruses. If you mail me a disk, or a request for a disk copy of the
  271. latest version, please include a stamped, self addressed return mailer.
  272.  
  273. VKILLER does not require any "license", "registration", or "shareware"
  274. contributions. Of course, all such contributions are gratefully
  275. accepted, but none are solicited. Circulate the program in any manner
  276. you wish. It may be copied, and distributed freely, but it may not be
  277. sold. Reasonable (and hopefully modest) charges for media, copying, or
  278. downloading are acceptable.
  279.  
  280.  
  281.  
  282. George R. Woodside       
  283.  
  284. Voice:         (818) 348-9174
  285. Compuserve:    76537,1342 
  286. GEnie:         G.WOODSIDE
  287. USENET:        woodside@ttidca
  288.     or:        ..!{philabs|csun|psivax}!ttidca!woodside
  289. US MAIL:       5219 San Felicaino Drive
  290.                Woodland Hills, CA  91364  USA
  291.